#-*- coding:utf-8 -*-

"""
数据简单处理小工具
"""
from app.model import Cnt
from app import db

#encryptBASE64(encryptSHA(password.getBytes()))

def encrypt_password(password):
    """
    采用BD对用户密码加密的方式进行加密，返回加密串
    """
    return password

def check_password(src_pwd, enc_pwd):
    '''
    比较输入密码src_pwd加密后与数据库密文是否匹配（密码校验）
    '''
    enc_src = encrypt_password(src_pwd)
    if enc_src == enc_pwd:
        return 0
    else:
        return 9002

def get_cnt(nam):
    '''
    根据计数器名nam获取计数器当前计数，并根据步长自增。如果计数器不存在则新建
    '''
    cnt = Cnt.query.filter_by(nam=nam).first()
    if cnt is not None:
        cnt.increase()
        db.session.add(cnt)
        db.session.commit()
        return cnt.stp
    else:
        cnt = Cnt(nam)
        db.session.add(cnt)
        db.session.commit()
        return cnt.val

def get_inr_by_cnt(nam):
    '''
    通过cnt表计数生成八位长inr字符串
    '''
    cnt_val = get_cnt(nam)
    cnt_str = "%0*d" % (8, cnt_val)
    return cnt_str

def get_error_msg(error):
    '''根据错误码返回错误信息'''
    error_dict = {
        9001:"用户不存在",
        9002:"密码错误",
        9004:"暂无考试",
        9003:"用户已存在",
    }
    if error_dict.has_key(error):
        return error_dict[error]
    else:
        return "未知错误"
